NAMD
NAMD - Симулятор молекулярной динамики (Molecular Dynamics Simulator). Параллельная объектно-ориентированная библиотека для расчетов в области молекулярной динамики. Реализована на С++ с использованием шаблонов, а также Charm++ и Converse. Распространяется бесплатно. Доступны исходные тексты, а также откомпилированные двоичные файлы Основы thumb|right| 400px | Директории обучающих примеров Обучающая программа предполагает, что у Вас уже есть практическое знание VMD и что NAMD 2.6 (или старше) был установлен правильно на Вашем компьютере. NAMD должен быть запущен из MS-DOS командной строки в Microsoft Windows. Поэтому, мы будем также использовать командную строку, чтобы выполнить задачи, такие как копирование файлов, которые Вы могли бы иначе сделать в Windows, используя мышь. Чтобы управлять любым моделированием MD, NAMD требует по крайней мере четыре вещи: * Protein Data Bank (pdb) - файл (Банк данных Белка), который хранит атомные координаты и/Или скорости для системы. Файлы Pdb могут быть произведены вручную, но они также доступны через Интернет для многих белков в http://www.pdb.org . * Protein Structure File (psf) - файл Структуры Белка, который хранит структурную информацию белка, такого как различные типы соединения взаимодействий. * файл параметра области силы. Область силы - математическое выражение потенциала, который испытывают атомы в системе. CHARMM, X-PLOR, ЯНТАРЬ, и GROMACS - четыре типа областей силы, и NAMD в состоянии использовать все их. Файл параметра определяет прочности связи, длины равновесия, и т.д. * файл конфигурации, в котором пользователь определяет все варианты, которые NAMD должен принять во внимание при моделировании. Файл конфигурации говорит NAMD, как моделированием нужно управлять. psf файл должен быть создан пользователем от начальной буквы pdb и файлов топологии. Файл конфигурации NAMD также создан пользователем, с командами, основанными на определенных требованиях для моделирования MD. Файлы для этой обучающей программы доступны в здесь. Вы должны загрузить и разархивировать эти файлы. Создание psf - файла ('''Protein Structure File, файла белковых структур)' Во-первых, нужно удалить молекулы воды из 1UBQ.pdb, и создать pdb файл одного только белка. Этот файл находится в директории 1-1-build обучающей программы. Для этого нужно запустить VMD, с помощью команды File -> New Molecule загрузить эту молекулу. Обратите внимание, что структура рентгена от Банка данных Белка не содержит водородные атомы ubiquitin. Это потому что кристаллография рентгена обычно не может решать водородные атомы. pdb файл, который Вы произведете с psfgen наряду с psf, будет содержать предполагаемые координаты для водородных атомов структуры. Позже, минимизация энергии белка гарантирует, что их положения разумны. Открываем командную консоль с помощью команды Extensions -> Tk Console. Пишем там следующие команды set ubq top protein $ubq writepdb ubqp.pdb (так же можно использовать команды dir и cd, чтобы понять в какой дериктории находишся и поменять ее) Вы создали файл ubqp.pdb, который содержит координаты ubiquitin одного без гидроданных. thumb|right| 400px | Блок-схема, указывающая роль файлов как использующийся VMD, NAMD, и psfgen. Теперь, Вы создадите psf файл ubiquitin. Отметьте, что VMD предлагает автоматическому psf строителю файла через меню Main VMD, щелкая Extensions -> Modeling -> Automatic PSF Builder. Мы создадим psf файл вручную, чтобы преподавать Вам точно, как он сделан. psfgen пакет VMD очень полезен в этом отношении. Чтобы создать psf, Вы сначала сделаете pgn файл, который будет целью psfgen. Для этого создаем файл ubq.pgn: package require psfgen topology top_all27_prot_lipid.inp pdbalias residue HIS HSE pdbalias atom ILE CD1 CD segment U {pdb ubqp.pdb} coordpdb ubqp.pdb U guesscoord writepdb ubq.pdb writepsf ubq.psf Файл, который Вы только создали, содержит необходимые команды, чтобы создать psf файл ubiquitin с водородными атомами и без воды. Каждая команда pgn файла объяснена: *Строка 1: Вы будете управлять psfgen в пределах VMD. Эта линия требует, чтобы psfgen пакет был доступен, чтобы быть названным VMD. *Строка 2: Загрузите файл топологии top_all27_prot_lipid.inp *Строка 3: Поменяйте имя остатка гистидина к имени собственному, найденному в файле топологии. HSE - одно из трех названий для гистидина, основанного на государстве protonation его группы стороны. См. коробку науки ниже за дополнительной информацией. *Строка 4: атом под названием "CD1" (углерод) в isoleucine остатках переименован как CD, его имя собственное от файла топологии. Так как isoleucine содержит только один углеродистый атом, psf файл не использует лейбл числа после CD. *Строка 5: сегмент по имени U создан, содержа все атомы от ubqp.pdb. Команда сегмента также добавляет водородные атомы. *Строка 6: Координаты прочитаны от ubqp.pdb и остатка, и названия атома подобраны. Старые лейблы сегмента будут отвергнуты с новым "U" лейбла сегмента. *Строка 7: Координаты недостающих атомов (как гидроданные) предполагаются основанные на определениях остатка от файла топологии. *Строка 8: новый pdb файл с полными координатами всех атомов, включая гидроданные, написан. *Строка 9: psf файл с полной структурной информацией белка написан. И в командной консоли (Tk Console) набираем команду: source ubq.pgn 'Помещение белка в воду''' Теперь, белок должен быть solvated, то есть, вставлять воду, чтобы более близко напомнить клеточную окружающую среду. Вы сделаете так двумя способами, помещая ubiquitin в: * водная сфера в окружении вакуума, в подготовке к минимизации и балансировке без периодических граничных условий. * водная коробка, в подготовке к минимизации и балансировке с периодическими граничными условиями. Помещение в водную сферу Будем использовать готовый wat_sphere.tcl (расположен в директории 1-1-build) подлинник, чтобы создать водную сферу. Командой source wat_sphere.tcl вызываем скрипт, который поместит ubiquitin в наименьшую водную сферу, полностью погружая белок. Скрипт wat_sphere.tcl возвратит центр и радиус водной сферы. Запишите эти числа, они понадобятся позже. Скрипт создаст pdb и psf файлы ubq_ws.pdb и ubq_ws.psf, соответственно, ubiquitin в водной сфере. Проверим появление подводной молекулы, загружая молекулу и структурной и координационной информацией. * Загрузите структурную информацию. Щелкните File -> New Molecule в окне Main VMD. Используйте Browse кнопку, чтобы найти файл ubq_ws.pdb. Загрузите это, нажимая кнопку Load. * координаты в файле PSF. Удостоверьтесь, что в поле Load files for: указан файл ubq_ws.pdb. Используйте Browse кнопку, чтобы найти файл ubq_ws.psf и загрузите это, нажимая кнопку Load. Вы увидите свою молекулу в центре сферы воды. Помещение в водную коробку В консоле (Extensions -> Tk Console) вводим: package require solvate solvate ubq.psf ubq.pdb -t 5 -o ubq_wb Команда package require solvate загрузит пакет solvate. Пакет solvate поместит Ваш белок (описанный в ubq.psf и ubq.pdb) в коробку воды. Опция -t создает водные измерения коробки таким образом, чтобы был слой воды 5Å в каждом направлении от атома с наибольшей координатой в том направлении. Опция -o создает файлы ubq_wb.pdb и ubq_wb.psf продукции для ubiquitin с водной коробкой. Вы также получите файлы combine.pdb и combine.psf, который может быть устранен. Они - промежуточные файлы, используемые программой solvate, чтобы транспортировать информацию в VMD. В VMD откройте файлы ubq_wb.psf и ubq_wb.pdb. В консоле (Extensions -> Tk Console) вводим: set everyone top all measure minmax $everyone Это анализирует все атомы в системе и дает Вам минимальные и максимальные значения x, y и z координат всей водно- белковой системы, например {10.4420003891 7.9470000267 -5.32700014114} {51.1189994812 50.2309989929 40.8959999084}. Например, если минимальные и максимальные значения по оси x возвращены как 10.44 и 51.12, соответственно, - координата центра коробки была бы \frac {51.12+10.44} 2 = 30.78 . Альтернативно, можно использовать tcl scripting в VMD, чтобы найти центр коробки. Файл конфигурации Теперь, когда у Вас есть pdb и psf файлы для solvated ubiquitin, наряду с файлом параметров для белков вообще, Вы только нуждаетесь в файле конфигурации NAMD, чтобы быть в состоянии минимизировать и уравновесить Вашу ubiquitin-водную систему. В следующих двух секциях Вы отредактируете файл конфигурации NAMD, предоставленный Вам, чтобы получить понимание его функций. Вы должны скопировать необходимые pdb и psf файлы в Вашу папку ..\common . Рассмотрим конфигурационный файл ubq_ws_eq.conf из директории 1-2-sphere. ############################################################# ## JOB DESCRIPTION ## ############################################################# # Minimization and Equilibration of # Ubiquitin in a Water Sphere ############################################################# ## ADJUSTABLE PARAMETERS ## ############################################################# structure ../common/ubq_ws.psf coordinates ../common/ubq_ws.pdb set temperature 310 set outputname ubq_ws_eq firsttimestep 0 ############################################################# ## SIMULATION PARAMETERS ## ############################################################# # Input paraTypeCharmm on parameters ../common/par_all27_prot_lipid.inp temperature $temperature # Force-Field Parameters exclude scaled1-4 1-4scaling 1.0 cutoff 12. switching on switchdist 10. pairlistdist 13.5 # Integrator Parameters timestep 2.0 ;# 2fs/step rigidBonds all ;# needed for 2fs steps nonbondedFreq 1 fullElectFrequency 2 stepspercycle 10 # Constant Temperature Control langevin on ;# do langevin dynamics langevinDamping 5 ;# damping coefficient (gamma) of 5/ps langevinTemp $temperature langevinHydrogen off ;# don't couple langevin bath to hydrogens # Output outputName $outputname restartfreq 500 ;# 500steps = every 1ps dcdfreq 250 outputEnergies 100 outputPressure 100 ############################################################# ## EXTRA PARAMETERS ## ############################################################# # Spherical boundary conditions sphericalBC on sphericalBCcenter 30.3081743413, 28.8049907121, 15.353994423 sphericalBCr1 26.0 sphericalBCk1 10 sphericalBCexp1 2 ############################################################# ## EXECUTION SCRIPT ## ############################################################# # Minimization minimize 100 reinitvels $temperature run 2500 ;# 5ps Параметры полевых сил * exclude: определяет, какие атомные взаимодействия должны быть исключены из рассмотрения. См. иллюстрацию 4 для общих лейблов атома. Ценность scaled1-4 указывает, что взаимодействиями между любыми такими атомами 1 и 2 и 1 и 3 пренебрегают, и взаимодействия между атомами 1 и 4 ослаблены. Взаимодействие van der Waals для "1-4" атомы изменены, используя специальные 1-4 параметра, определенные в файлах параметра, и электростатическое взаимодействие изменено как показано в следующей команде. Иллюстрация 4: Число маркирует для атомов, которые являются отданным количеством облигаций от друг друга * 1-4scaling: определяет степень, до которой должно быть принято во внимание электростатическое взаимодействие между 1-4 атомами. Это может быть десятичное число между 0 и 1 (здесь, это 1), и указывает, насколько взаимодействие "turned off" или "on", соответственно. * cutoff:: указывает расстояние в Å, вне которого электростатический и взаимодействия van der Waals сокращение. Иначе, те взаимодействия рассматривают по всему объему Вашей системы. Это может быть в вычислительном отношении слишком дорогостоящим. Определение изменяется, когда Частица Mesh Ewald Sum призвана. См. Секцию 1.5.1. * switching: указывает, используются ли переключающиеся функции, чтобы гладко взять электростатический и взаимодействия van der Waals к нолю на расстоянии сокращения. Вы можете перечислить "on" или "off" рядом с этим как да/нет ответ. * switchdist: указывает расстояние в Å, в котором функциональная форма электростатических и взаимодействия van der Waals изменена, чтобы позволить их ценностям приближаться к нулю на расстоянии сокращения (cutoff). Визуальное объяснение этого полезно и может быть найдено в иллюстрации 5. * pairlistdist: разработан, чтобы сделать вычисление быстрее. Это определяет расстояние в Å. NAMD будет только искать в пределах этого расстояния атомы, которые могут взаимодействовать электростатическим или взаимодействия van der Waals. Этим путем, NAMD не должен искать всю систему. Расстояние должно быть больше чем расстояние сокращения, и список должен быть обновлен во время моделирования. См. иллюстрацию 5. Сферические граничные условия Эти условия препятствуют тому, чтобы сфера подверглась испарению или распространению. sphericalBC: указывает, использует ли моделирование сферические граничные условия; использование оценивает и прочь. sphericalBCcenter: устанавливает, координаты центра сферы, к которой применены сферические граничные условия. Это - то, почему Вы должны сделать запись центра своей водной сферы после Вас сольват! Следующие три команды - параметры, которые должны быть определены для сферических граничных условий работать должным образом. sphericalBCr1: устанавливает расстояние в Å, в котором первый граничный потенциал начинает действовать. sphericalBCk1: первый потенциал, примененный сферическими граничными условиями держать сферу вместе (или разделить ее), является гармоническим. Это наборы команд ценность силы, постоянной для того потенциала. Его ценность определена в kcal/molÅ. sphericalBCexp1: устанавливает ценность образца, используемого, чтобы сформулировать потенциал; должно быть положительное, даже целое число. Периодические Граничные условия Три периодических вектора основания ячейки должны быть определены, чтобы дать периодической ячейке его форму и размер. Они - cellBasisVector1, cellBasisVector2, и cellBasisVector3. В этом файле каждый вектор перпендикулярен другим двум, как обозначено синглом, или ценностью, определяемой каждым. Например, cellBasisVector1 - Å, Å, Å. С каждым векторным перпендикуляром сформирована прямоугольная 3-ья коробка. cellOrigin: определяет координаты центра периодической ячейки в Å. Это - то, почему Вы должны вычислить центр своей водной коробки после Вас сольват! wrapWater: Эта команда может использоваться с периодическими граничными условиями. Если молекула воды пересечет периодическую границу, оставляя ячейку, то устанавливая эту команду в на переведет ее координаты к пункту зеркала на противоположной стороне ячейки. Ничто не может убежать. Команда может быть установлена в на или прочь. wrapAll: то же самое как wrapWater, кроме этого относится ко всем молекулам. Контроль за Постоянным давлением (переменный объем) useGroupPressure: NAMD вычисляет давление системы, основанное на силах между атомами и их кинетическими энергиями. Эта команда определяет, должны ли взаимодействия, вовлекающие водород, быть посчитаны для всех водородных атомов или просто между группами водородных атомов; использование оценивает да и не и должно быть установлено в да, если rigidBonds установлены. useFlexibleCell: определяет, хотите ли Вы позволить трем измерениям периодической ячейки изменяться независимо; использование оценивает да или нет. useConstantArea: NAMD позволяет Вам держать взаимную площадь поперечного сечения постоянной, изменяя измерение; использование оценивает да и нет. langevinPiston: указывает, использует ли моделирование поршень Langevin, чтобы управлять давлением системы; использование оценивает и прочь. langevinPistonTarget: определяет, в единицах бара, давление, которое поршень Langevin пытается поддержать. (1 atm = 1.013 бара) Следующее - спецификации для поршня Langevin, который NAMD позволяет Вам определять. langevinPistonPeriod: устанавливает время колебания, постоянное в фс для поршня Langevin. langevinPistonDecay: устанавливает время демпфирования, постоянное в фс для поршня Langevin. langevinPistonTemp: устанавливает "шумовую" температуру в K для поршня Langevin; должен быть установлен равный целевой температуре для температурного способа управления (здесь, установленный langevinTemp). Задача моделирования - минимизация * minimize: определяет номер повторений, чтобы изменить положения атома, чтобы искать местный минимум в потенциале * reinitvels: Минимизация выполнена на системе после того, как все атомные скорости были установлены в ноль. Эта команда перезагружает атомные скорости таким образом, чтобы система началась в определенной температуре (в этом случае, $temperature, или 310К ) * run: определяет номер временных шагов, чтобы управлять балансировкой MD (в этом случае 2500, который соответствует 5 000 фс или 5 постскриптумов, так как временной шаг на 2 фс использовался). См. также * NAMD - Температурный Контроль и Балансировка * NAMD - Управляемая молекулярная динамика Steered Molecular Dynamics Ссылки * Обучающие программы * Начальная обучающая программа * NAMD - Документация пользователя Категория:VMD